package com.whq.common.encrypt.md5;

import java.security.MessageDigest;

import com.whq.common.encrypt.ByteArrayToFromHexDigits;
/** 
* <p>Title: MD5 Encoding</p> 
* <p>Description: 将字符串使用MD5加密</p> 
* <p>Copyright: Copyright (c) 2006</p> 
* @author Iastar 2009-11-24
*/ 

public class MD5Coder {
//	private final static String[] hexDigits = { 
//		"0", "1", "2", "3", "4", "5", "6", "7", 
//	    "8", "9", "a", "b", "c", "d", "e", "f"}; 

//	/** 
//	 * 转换字节数组为16进制字串 
//	 * @param b 字节数组 
//	 * @return 16进制字串 
//	 */ 
//	public static String byteArrayToHexString(byte[] b) { 
//		StringBuffer resultSb = new StringBuffer(); 
//	    for (int i = 0; i < b.length; i++) { 
//	    	resultSb.append(byteToHexString(b[i])); 
//	    } 
//	    return resultSb.toString(); 
//	} 

//	private static String byteToHexString(byte b) { 
//		int n = b; 
//	    if (n < 0) 
//	    	n = 256 + n; 
//	    int d1 = n / 16; 
//	    int d2 = n % 16; 
//	    return hexDigits[d1] + hexDigits[d2]; 
//	} 

	public static String md5Encode(String origin) { 
		String resultString = null; 
	    try { 
	    	resultString = new String(origin); 
	    	MessageDigest md = MessageDigest.getInstance("MD5"); 
//	    	resultString = byteArrayToHexString(md.digest(resultString.getBytes()));
	    	resultString = ByteArrayToFromHexDigits.bytesToHexString(md.digest(resultString.getBytes()));
	    } catch (Exception ex) { 

	    } 
	    return resultString; 
	} 
}
